/**
 * 功能测试主页
 * @type {Puppeteer}
 */
const puppeteer = require('puppeteer');
const certificate = require('./zc/register/certificate');
const Filing = require('./zc/filing/index');
const Tribunal = require('./zc/tribunal/index');
const CourTrial = require('./zc/court/index');

//Puppeteer的配置信息
const pupConfig = {
  config: require('./zc/config'),//公共参数
  browser: null,//浏览器对象
  page: null,//页面对象
}

/**
 * 初始化配置
 */
const init = async () => {
  /**
   * launch()的参数：
   * headless true代表不打开浏览器界面，false代表打开浏览器页面，默认为true。
   * devtools 是否打开开发者模式。默认false。
   * defaultViewport 使用默认值或手动指定页面属性时，页面都会出现异常。所以，设置null来禁用。
   */
  pupConfig.browser = await puppeteer.launch({headless: false, devtools: false, defaultViewport: null});
  pupConfig.page = await pupConfig.browser.newPage();
  await pupConfig.page.goto(pupConfig.config.common.host);
}

/**
 * 保证browser能正常退出
 */
(async () => {
  try {
    await init();
    await certificate(pupConfig);
    // await Filing(pupConfig);
    // await Tribunal(pupConfig);
    // await CourTrial(pupConfig);
  } catch (e) {
    console.log(e);
  } finally {
    // pupConfig.browser.close();
  }
})();
